const Joi = require('joi');

module.exports = {
  goodsSchema: Joi.object({
    goods_name: Joi.string().required(),
    goods_price: Joi.number()
      .custom((value, helpers) => {
        // 检查小数部分的长度
        const decimalPart = value.toString().split('.')[1];

        if (decimalPart && decimalPart.length > 2) {
          return helpers.error('number.decimal', { value });
        }

        return value;
      })
      .messages({
        'number.decimal': '小数部分最多两位',
      })
      .required(),
    goods_num: Joi.number().integer().required(),
    goods_img: Joi.string().required(),
    id: Joi.alternatives().conditional(Joi.ref('$method'), {
      is: 'PATCH',
      then: Joi.number().required(), // PATCH 请求时 ID 必须存在
      otherwise: Joi.number(), // 其他请求时 ID 可选
    }),
  }),
};
